package com.qingshu.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qingshu.common.entity.custom.Music;
import com.qingshu.common.entity.custom.vo.MusicTypeStatistics;
import com.qingshu.common.entity.custom.vo.MusicVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author Huzz
 * @since 2021-12-09
 */
@Mapper
public interface MusicMapper extends BaseMapper<Music> {

    /**
     * 歌曲列表
     * @param page
     * @param wrapper
     * @return
     */
    Page<MusicVO> selectMusicPage(Page<MusicVO> page, @Param(Constants.WRAPPER) QueryWrapper<Music> wrapper);

    /**
     * 根据歌曲类型统计
     * @return
     */
    List<MusicTypeStatistics> getMusicTypePercentage();

    /**
     * 空歌曲类型
     * @return
     */
    Integer getMusicTypeIsNullPercentage();

    /**
     * 歌曲总数
     * @return
     */
    Integer getTotal();
}
